【最强科普】块存储、文件存储、对象存储三者有何区别?
提到"存储",大家都不陌生。
尤其是电子产品快速普及的这几年,随处可见各种存储。
有这个?
这个?
还有这个?
哈哈,没错,我们处于信息时代,已经完全离不开视频、音乐、图片、文本、表格这样的数据文件。
对于很多小伙伴来说,存储的价值是让我们可以保存我们重要的信息,以便我们需要的时候能够查找、观摩、“学习”。
但是对于企业用户来说,尤其是大数据时代,数据的价值被提到了前所未有的位置。数据就是企业的生命线。
▉ 块存储、文件存储、对象存储,傻傻分不清楚
聊到企业存储,栈长被三个存储名词困扰了很久,块存储、文件存储、对象存储,真的是傻傻分不清楚。
最近栈长不废寝忘食,好好的研究了下块存储、文件存储和对象存储。
今天我们就来跟大家汇报下学习成果:块存储、文件存储、对象存储三者有何区别?
其实,存储的目的就是为数据提供空间。
硬盘/固态硬盘是存储最终的载体,之所以有块存储、文件存储和对象存储不同类型的存储设备,主要是由于使用介质存储数据的手段或方法不同来划分的。
▉ 块存储
块存储提供的是不带文件系统裸磁盘,使用之前需先进行初始化。我们比较常见的块存储形式是我们的Windows硬盘或手机存储空间,数据是按字节来存储和访问的。
块存储使用时,文件系统在客户端,例如Windows系统,我们可以在Windows桌面查看我们存储的内容,但是对于硬盘里的内容和格式,我们是一无所知的,只有借助客户端的文件系统才能查看。
通俗的来说,就如上图,数据就像每个瓜子一样,堆放在存储仓里。瓜子就是每个数据块,这个存储舱就是磁盘。块存储只关心瓜子的进来和出去,不关心瓜子粒之间的关系和用途。
由于块存储只负责数据读取和写入,因此具有有高带宽、低延迟的优势,但是扩展能力有限,适用于对响应时间要求高的系统。比如数据库、ERP等企业核心应用的存储等。DAS、SAN这两种存储设备属于块存储类型,
▉ 文件存储
文件存储的存储端带有文件系统,我们常见的NAS存储都是文件存储设备。这些文件存储设备除了磁盘外还带有文件系统,用户直接通过存储端的文件系统就能调用存储资源。
文件存储一般体现形式是目录和文件(比如C:\User\Program Files\Common Files),数据以文件的方式存储和访问,按照目录结构进行组织。文件存储有自己的文件系统,对于每个客户端而言是一个统一的文件系统,可以同时供多个客户端使用,易于共享。
好比上面图中,数据像瓜子一样在一起组成了向日葵,再对应到不同的向日葵杆,要找到某个向日葵籽,先找到这个对应的向日葵杆,再找到这个向日葵,然后根据在这个向日葵上对应的位置找到这个瓜子。
相比于块存储,文件存储由于有自己的文件系统,可以实现更高级的管理,可以很方便的共享,因此用途非常广泛。比如常用的NFS、CIFS、ftp等都是基于文件存储的。但相比于块存储,文件存储读写速度相对于块存储要慢一点。
▉ 对象存储
块存储性能出色但是不能共享,文件存储可以共享但是速度又总是不让人满意;做为不会做选择题的成年人既想性能,还要实现共享,同时还要满足大规模扩展需求,所有就有了对象存储。
对象存储一般体现形式是一个UUID(比如我们常见的网址https://new.qq.com/omn/20201119/20201119A0CEI01210.html),这个UUID是唯一性的,即使在全球也只有通过这一个UUID。
数据和元数据打包在一起作为一个整体对象存在一个超大池子里。用户想访问,只需能通过它的UUID,才能找到它。
好比上面图中,数据的葵花籽被做成了包装袋,每个包装袋都有一个唯一出厂条形码,但是找对应的对应的瓜子袋,只能通过唯一条形码找到对应的瓜子袋,但每一次都只能是一袋为单位。
对象存储端的文件系统就是采用这种哈希表-键值(可以理解为查字典,最多两层目录)这种方式来提高读写速度的。对象存储就可以非常简单的扩展到超大规模,因此非常适合数据量大、增速又很快的视频、图像等,例如百度网盘、大数据存储;
▉ 未完待续……
随着互联网的快速发展,数据量在不断激增,传统存储系统已经不能满足需求。
尤其是云计算兴起后,会有什么全新的存储解决方案吗?
请看下期--《分布式存储的深度揭秘》